home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung 2 / Power-Programmierung CD 2 (Tewi)(1994).iso / gnu / gnulib / dkbtrace / pbmplus / source / ppm / ppmmerge.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-12-10  |  2.5 KB  |  85 lines

  1. /* ppmmerge.c - wrapper program for PPM
  2. **
  3. ** Copyright (C) 1991 by Jef Poskanzer.
  4. **
  5. ** Permission to use, copy, modify, and distribute this software and its
  6. ** documentation for any purpose and without fee is hereby granted, provided
  7. ** that the above copyright notice appear in all copies and that both that
  8. ** copyright notice and this permission notice appear in supporting
  9. ** documentation.  This software is provided "as is" without express or
  10. ** implied warranty.
  11. */
  12.  
  13. #include <stdio.h>
  14. #include "ppm.h"
  15.  
  16. void
  17. main( argc, argv )
  18.     int argc;
  19.     char* argv[];
  20.     {
  21.     register char* cp;
  22.  
  23. again:
  24.     if ( ( cp = rindex( argv[0], '/' ) ) != (char*) 0 )
  25.     ++cp;
  26.     else
  27.     cp = argv[0];
  28.     if ( strcmp( cp, "ppmmerge" ) == 0 )
  29.     {
  30.     ++argv;
  31.     --argc;
  32.     goto again;
  33.     }
  34.  
  35. #define TRY(s,m) { if ( strcmp( cp, s ) == 0 ) exit( m( argc, argv ) ); }
  36.  
  37.     TRY("giftoppm", giftoppm_main);
  38.     TRY("gouldtoppm", gouldtoppm_main);
  39.     TRY("ilbmtoppm", ilbmtoppm_main);
  40.     TRY("imgtoppm", imgtoppm_main);
  41.     TRY("mtvtoppm", mtvtoppm_main);
  42.     TRY("pcxtoppm", pcxtoppm_main);
  43.     TRY("pgmtoppm", pgmtoppm_main);
  44.     TRY("pi1toppm", pi1toppm_main);
  45.     TRY("picttoppm", picttoppm_main);
  46.     TRY("pjtoppm", pjtoppm_main);
  47.     TRY("ppmdither", ppmdither_main);
  48.     TRY("ppmforge", ppmforge_main);
  49.     TRY("ppmhist", ppmhist_main);
  50.     TRY("ppmmake", ppmmake_main);
  51.     TRY("ppmpat", ppmpat_main);
  52.     TRY("ppmquant", ppmquant_main);
  53.     TRY("ppmrelief", ppmrelief_main);
  54.     TRY("ppmtoacad", ppmtoacad_main);
  55.     TRY("ppmtogif", ppmtogif_main);
  56.     TRY("ppmtoicr", ppmtoicr_main);
  57.     TRY("ppmtoilbm", ppmtoilbm_main);
  58.     TRY("ppmtopcx", ppmtopcx_main);
  59.     TRY("ppmtopgm", ppmtopgm_main);
  60.     TRY("ppmtopi1", ppmtopi1_main);
  61.     TRY("ppmtopict", ppmtopict_main);
  62.     TRY("ppmtopj", ppmtopj_main);
  63.     TRY("ppmtopuzz", ppmtopuzz_main);
  64.     TRY("ppmtorgb3", ppmtorgb3_main);
  65.     TRY("ppmtosixel", ppmtosixel_main);
  66.     TRY("ppmtotga", ppmtotga_main);
  67.     TRY("ppmtouil", ppmtouil_main);
  68.     TRY("ppmtoxpm", ppmtoxpm_main);
  69.     TRY("ppmtoyuv", ppmtoyuv_main);
  70.     TRY("qrttoppm", qrttoppm_main);
  71.     TRY("rawtoppm", rawtoppm_main);
  72.     TRY("rgb3toppm", rgb3toppm_main);
  73.     TRY("sldtoppm", sldtoppm_main);
  74.     TRY("spctoppm", spctoppm_main);
  75.     TRY("sputoppm", sputoppm_main);
  76.     TRY("tgatoppm", tgatoppm_main);
  77.     TRY("ximtoppm", ximtoppm_main);
  78.     TRY("xpmtoppm", xpmtoppm_main);
  79.     TRY("yuvtoppm", yuvtoppm_main);
  80.  
  81.     (void) fprintf(
  82.     stderr, "ppmmerge: \"%s\" is an unknown PPM program!\n", cp );
  83.     exit( 1 );
  84.     }
  85.